package com.gk.bean.qfdto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 国控库存余额
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class GKT500BackJson implements Serializable {

    @JsonProperty("xml")
    private XmlDTO xml;

    public XmlDTO getXml() {
        return xml;
    }

    public void setXml(XmlDTO xml) {
        this.xml = xml;
    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class XmlDTO {
        @JsonProperty("content")
        private ContentDTO content;
        @JsonProperty("header")
        private HeaderDTO header;

        public ContentDTO getContent() {
            return content;
        }

        public void setContent(ContentDTO content) {
            this.content = content;
        }

        public HeaderDTO getHeader() {
            return header;
        }

        public void setHeader(HeaderDTO header) {
            this.header = header;
        }

        @JsonIgnoreProperties(ignoreUnknown = true)
        public static class ContentDTO {
            @JsonProperty("detail")
            private DetailDTO detail;

            public DetailDTO getDetail() {
                return detail;
            }

            public void setDetail(DetailDTO detail) {
                this.detail = detail;
            }

            @JsonIgnoreProperties(ignoreUnknown = true)
            public static class DetailDTO {
                @JsonProperty("main")
                private MainDTO main;
                @JsonProperty("sub")
                private SubDTO sub;

                public MainDTO getMain() {
                    return main;
                }

                public void setMain(MainDTO main) {
                    this.main = main;
                }

                public SubDTO getSub() {
                    return sub;
                }

                public void setSub(SubDTO sub) {
                    this.sub = sub;
                }

                @JsonIgnoreProperties(ignoreUnknown = true)
                public static class MainDTO {
                    @JsonProperty("billno")
                    private String billno;

                    public String getBillno() {
                        return billno;
                    }

                    public void setBillno(String billno) {
                        this.billno = billno;
                    }
                }

                @JsonIgnoreProperties(ignoreUnknown = true)
                public static class SubDTO {
                    @JsonProperty("subline")
                    private List<SublineDTO> subline;

                    public List<SublineDTO> getSubline() {
                        return subline;
                    }

                    public void setSubline(List<SublineDTO> subline) {
                        this.subline = subline;
                    }

                    @JsonIgnoreProperties(ignoreUnknown = true)
                    public static class SublineDTO {
                        @JsonProperty("goodsownerid")
                        private String goodsownerid;
                        @JsonProperty("credate")
                        private String credate;
                        @JsonProperty("goodsid")
                        private String goodsid;
                        @JsonProperty("sourcecompanyid")
                        private String sourcecompanyid;
                        @JsonProperty("gstarageid")
                        private String gstarageid;
                        @JsonProperty("batchno")
                        private String batchno;
                        @JsonProperty("lotno")
                        private String lotno;
                        @JsonProperty("validdate")
                        private String validdate;
                        @JsonProperty("proddate")
                        private String proddate;
                        @JsonProperty("goodstatus")
                        private String goodstatus;
                        @JsonProperty("quanstatus")
                        private String quanstatus;
                        @JsonProperty("approvedocno")
                        private String approvedocno;
                        @JsonProperty("tradepack")
                        private String tradepack;
                        @JsonProperty("busiqty")
                        private String busiqty;
                        @JsonProperty("qty")
                        private String qty;
                        @JsonProperty("packsize")
                        private String packsize;
                        @JsonProperty("specialtype")
                        private String specialtype;
                        @JsonProperty("def1")
                        private String def1;
                        @JsonProperty("def2")
                        private String def2;
                        @JsonProperty("def3")
                        private String def3;
                        @JsonProperty("def4")
                        private String def4;
                        @JsonProperty("def5")
                        private String def5;
                        @JsonProperty("def6")
                        private String def6;
                        @JsonProperty("def7")
                        private String def7;
                        @JsonProperty("def8")
                        private String def8;
                        @JsonProperty("def9")
                        private String def9;
                        @JsonProperty("def10")
                        private String def10;

                        public String getGoodsownerid() {
                            return goodsownerid;
                        }

                        public void setGoodsownerid(String goodsownerid) {
                            this.goodsownerid = goodsownerid;
                        }

                        public String getCredate() {
                            return credate;
                        }

                        public void setCredate(String credate) {
                            this.credate = credate;
                        }

                        public String getGoodsid() {
                            return goodsid;
                        }

                        public void setGoodsid(String goodsid) {
                            this.goodsid = goodsid;
                        }

                        public String getSourcecompanyid() {
                            return sourcecompanyid;
                        }

                        public void setSourcecompanyid(String sourcecompanyid) {
                            this.sourcecompanyid = sourcecompanyid;
                        }

                        public String getGstarageid() {
                            return gstarageid;
                        }

                        public void setGstarageid(String gstarageid) {
                            this.gstarageid = gstarageid;
                        }

                        public String getBatchno() {
                            return batchno;
                        }

                        public void setBatchno(String batchno) {
                            this.batchno = batchno;
                        }

                        public String getLotno() {
                            return lotno;
                        }

                        public void setLotno(String lotno) {
                            this.lotno = lotno;
                        }

                        public String getValiddate() {
                            return validdate;
                        }

                        public void setValiddate(String validdate) {
                            this.validdate = validdate;
                        }

                        public String getProddate() {
                            return proddate;
                        }

                        public void setProddate(String proddate) {
                            this.proddate = proddate;
                        }

                        public String getGoodstatus() {
                            return goodstatus;
                        }

                        public void setGoodstatus(String goodstatus) {
                            this.goodstatus = goodstatus;
                        }

                        public String getQuanstatus() {
                            return quanstatus;
                        }

                        public void setQuanstatus(String quanstatus) {
                            this.quanstatus = quanstatus;
                        }

                        public String getApprovedocno() {
                            return approvedocno;
                        }

                        public void setApprovedocno(String approvedocno) {
                            this.approvedocno = approvedocno;
                        }

                        public String getTradepack() {
                            return tradepack;
                        }

                        public void setTradepack(String tradepack) {
                            this.tradepack = tradepack;
                        }

                        public String getBusiqty() {
                            return busiqty;
                        }

                        public void setBusiqty(String busiqty) {
                            this.busiqty = busiqty;
                        }

                        public String getQty() {
                            return qty;
                        }

                        public void setQty(String qty) {
                            this.qty = qty;
                        }

                        public String getPacksize() {
                            return packsize;
                        }

                        public void setPacksize(String packsize) {
                            this.packsize = packsize;
                        }

                        public String getSpecialtype() {
                            return specialtype;
                        }

                        public void setSpecialtype(String specialtype) {
                            this.specialtype = specialtype;
                        }

                        public String getDef1() {
                            return def1;
                        }

                        public void setDef1(String def1) {
                            this.def1 = def1;
                        }

                        public String getDef2() {
                            return def2;
                        }

                        public void setDef2(String def2) {
                            this.def2 = def2;
                        }

                        public String getDef3() {
                            return def3;
                        }

                        public void setDef3(String def3) {
                            this.def3 = def3;
                        }

                        public String getDef4() {
                            return def4;
                        }

                        public void setDef4(String def4) {
                            this.def4 = def4;
                        }

                        public String getDef5() {
                            return def5;
                        }

                        public void setDef5(String def5) {
                            this.def5 = def5;
                        }

                        public String getDef6() {
                            return def6;
                        }

                        public void setDef6(String def6) {
                            this.def6 = def6;
                        }

                        public String getDef7() {
                            return def7;
                        }

                        public void setDef7(String def7) {
                            this.def7 = def7;
                        }

                        public String getDef8() {
                            return def8;
                        }

                        public void setDef8(String def8) {
                            this.def8 = def8;
                        }

                        public String getDef9() {
                            return def9;
                        }

                        public void setDef9(String def9) {
                            this.def9 = def9;
                        }

                        public String getDef10() {
                            return def10;
                        }

                        public void setDef10(String def10) {
                            this.def10 = def10;
                        }
                    }
                }
            }
        }

        @JsonIgnoreProperties(ignoreUnknown = true)
        public static class HeaderDTO {
            @JsonProperty("businessType")
            private String businessType;
            @JsonProperty("message")
            private String message;
            @JsonProperty("sendSource")
            private String sendSource;
            @JsonProperty("sendTime")
            private String sendTime;
            @JsonProperty("sendType")
            private String sendType;
            @JsonProperty("sender")
            private String sender;
            @JsonProperty("status")
            private int status;

            public String getBusinessType() {
                return businessType;
            }

            public void setBusinessType(String businessType) {
                this.businessType = businessType;
            }

            public String getMessage() {
                return message;
            }

            public void setMessage(String message) {
                this.message = message;
            }

            public String getSendSource() {
                return sendSource;
            }

            public void setSendSource(String sendSource) {
                this.sendSource = sendSource;
            }

            public String getSendTime() {
                return sendTime;
            }

            public void setSendTime(String sendTime) {
                this.sendTime = sendTime;
            }

            public String getSendType() {
                return sendType;
            }

            public void setSendType(String sendType) {
                this.sendType = sendType;
            }

            public String getSender() {
                return sender;
            }

            public void setSender(String sender) {
                this.sender = sender;
            }

            public int getStatus() {
                return status;
            }

            public void setStatus(int status) {
                this.status = status;
            }
        }
    }
}
